Memory leaks occur when an app fails to release memory it no longer needs, causing performance issues or crashes. Node.js memory leaks often happen due to global variables, closures, event emitters, circular references, and other coding mistakes. Essential tools for identification include Node.js Profiler, V8 Inspector, Node Memory Profiler, Heapdump, New Relic, Memory-Usage, and heapalyze.
